#include "bsp_relay.h"
#include "stdio.h"

static void delay_ms(unsigned int ms)
{
    vTaskDelay(ms / portTICK_PERIOD_MS);
}
static void delay_us(unsigned int us)
{
    ets_delay_us(us);
}
static void delay_1ms(unsigned int ms)
{
    vTaskDelay(ms / portTICK_PERIOD_MS);
}
static void delay_1us(unsigned int us)
{
    ets_delay_us(us);
}
/******************************************************************
 * 函 数 名 称：relay_GPIO_Init
 * 函 数 说 明：继电器引脚初始化
 * 函 数 形 参：无
 * 函 数 返 回：无
 * 作       者：LC
 * 备       注：无
******************************************************************/
void Relay_GPIO_Init(void)
{
    gpio_config_t relay_config = {
        .pin_bit_mask = (1ULL << GPIO_RELAY_1) | (1ULL << GPIO_RELAY_2),  // 配置GPIO12和GPIO13
        .mode = GPIO_MODE_OUTPUT,                                        // 输出模式
        .pull_up_en = GPIO_PULLUP_DISABLE,                                // 上拉禁用
        .pull_down_en = GPIO_PULLDOWN_DISABLE,                           // 下拉禁用
        .intr_type = GPIO_INTR_DISABLE                                    // 不使能中断
    };
    gpio_config(&relay_config);
}


/******************************************************************
 * 函 数 名 称：Set_Relay_Switch
 * 函 数 说 明：设置继电器状态
 * 函 数 形 参：0继电器吸合   1继电器断开
 * 函 数 返 回：
 * 作       者：LC
 * 备       注：
******************************************************************/
void Set_Relay_Switch(unsigned char relay, unsigned char state)
{
    if (relay == 0) {
        RELAY_1_OUT(state); // 控制继电器1
    } else if (relay == 1) {
        RELAY_2_OUT(state); // 控制继电器2
    }
}
